package com.chushouya.product.service.admin;

import com.chushouya.product.dto.admin.productsku.ProductSkuListDTO;
import com.chushouya.product.dto.admin.productsku.ProductSkuPriceUpdateDTO;
import com.chushouya.product.dto.admin.productsku.SkuGenerateDTO;

import java.util.List;

/**
 * 商品SKU业务
 */
public interface ProductSkuService {

    /**
     * 删除商品SKU
     * @param skuId 商品SKU ID
     */
    void removeProductSku(Long skuId);

    /**
     * 根据商品ID查询SKU列表
     * @param productId 商品ID
     * @return 列表
     */
    List<ProductSkuListDTO> selectProductSkuListByProductId(Long productId);

    /**
     * 生成SKU组合
     * @param skuGenerateDTO SKU生成参数
     * @return 生成的SKU数量
     */
    Integer generateSkuCombinations(SkuGenerateDTO skuGenerateDTO);

    /**
     * 更新SKU价格
     * @param priceUpdateDTO 价格更新参数
     * @return 更新结果
     */
    Boolean updateSkuPrice(ProductSkuPriceUpdateDTO priceUpdateDTO);

    /**
     * 根据商品ID清空SKU数据
     * @param productId 商品ID
     */
    void clearProductSkuByProductId(Long productId);
}
